package com.sy.action;

import java.util.Calendar;
import java.util.Date;

import com.opensymphony.xwork2.ActionSupport;

public class RegisterAction extends ActionSupport
{
	private static final long serialVersionUID = -2467871069272274703L;

	private String username;

	private String password;

	private String repassword;

	private int age;

	private Date birthday;

	private Date graduation;

	public String getUsername()
	{
		return username;
	}

	public void setUsername(String username)
	{
		this.username = username;
	}

	public String getPassword()
	{
		return password;
	}

	public void setPassword(String password)
	{
		this.password = password;
	}

	public String getRepassword()
	{
		return repassword;
	}

	public void setRepassword(String repassword)
	{
		this.repassword = repassword;
	}

	public int getAge()
	{
		return age;
	}

	public void setAge(int age)
	{
		this.age = age;
	}

	public Date getBirthday()
	{
		return birthday;
	}

	public void setBirthday(Date birthday)
	{
		this.birthday = birthday;
	}

	public Date getGraduation()
	{
		return graduation;
	}

	public void setGraduation(Date graduation)
	{
		this.graduation = graduation;
	}

	@Override
	public String execute() throws Exception
	{
		return SUCCESS;
	}
	
	@Override
	//使用addFieldError输出验证,此方法一定会执行
	public void validate()
	{
//		System.out.println("validate~~~~~~~~~~~~~~~~~~~");
		
		if(null == username || username.length() < 6 || username.length() > 10)
		{
			this.addFieldError("username","用户名无效！");
		}
		if(null == password || password.length() < 6 || password.length() > 10)
		{
			this.addFieldError("password","密码无效！");
		}
		else if(null == repassword || repassword.length() < 6 || repassword.length() > 10)
		{
			this.addFieldError("repassword","确认密码无效！");
		}
		else if(!password.equals(repassword))
		{
			this.addFieldError("password","两次输入不一致！");
		}
		if(age <= 0 || age > 150)
		{
			this.addFieldError("age","年龄输入有误！");
		}
//		if(null == birthday)
//		{
//			this.addFieldError("birthday","出生日期输入有误！");
//		}
//		if(null == graduation)
//		{
//			this.addFieldError("graduation","毕业日期输入有误！");
//		}
		if(null != birthday && null != graduation)
		{
			Calendar c1 = Calendar.getInstance();
			c1.setTime(birthday);
			
			Calendar c2 = Calendar.getInstance();
			c2.setTime(graduation);
			
			if(!c1.before(c2))
			{
				this.addFieldError("birthday","出生日期应该在毕业日期之前");
			}
		}
		
	}
}
